#include "NativeFunction.h"

CNativeFunction::CNativeFunction(
    CFunctionList *InParentList
    , const CString &InName
    , const SDecoratedType& InReturnType
    , const TVector<SDecoratedType> &InParameterTypes
    , TMap<EFunctionFlags, SReflectionMetaDataValue> InMetaData
    )
    :CFunction(
        InParentList
        ,InName
        ,InReturnType
        ,InParameterTypes
        ,InMetaData
        )
{
    FunctionType= CFunctionType::FindFunctionType(InReturnType,InParameterTypes);
    if(!FunctionType)
    {
        FunctionType=new CFunctionTypeGeneralized(
            InReturnType
            ,InParameterTypes);
    }

}

